# 此处定义表单
from django import forms
# 引入模型
from .models import Goods, Comment  # 👇 删掉 GoodsImage

# 商品表单
class GoodsForm(forms.ModelForm):
    # 媒体信息
    class Meta:
        # 指定模型
        model = Goods
        # 👇 字段中也删掉 detail_images（因为模型中已删除），需要渲染的字段
        fields = ['name', 'cover_image', 'price', 'stock', 'categories', 'description']
        # 指定前端字段渲染样式，其中描述字段为text
        widgets = {
            'description': forms.Textarea(attrs={'rows': 5}),
        }

# 👇 删除这个无用的表单类
# class GoodsImageForm(forms.ModelForm):
#     class Meta:
#         model = GoodsImage
#         fields = ['image']

# 评论表单的属性定义
class CommentForm(forms.ModelForm):
    # 【修正】Meta类：ModelForm的核心配置类，用于关联模型、定义表单规则（非“媒体信息”）
    class Meta:
        # 【修正】指定当前表单关联的Django模型（Comment模型），表单将基于该模型的字段生成
        model = Comment
        # 【修正】指定表单需要包含的模型字段（仅渲染Comment模型的'content'字段到前端）
        fields = ['content']
        # 【修正】定义表单字段在前端的渲染方式（指定Widget组件及HTML属性）
        widgets = {
            # 将'content'字段渲染为<textarea>标签，设置行数为3、占位提示文本
            'content': forms.Textarea(attrs={'rows': 3, 'placeholder': '请输入您的评论...'}),
        }
        # 【精准化】定义表单字段对应的前端<label>标签文本（此处设为空字符串，即不显示label）
        labels = {
            'content': '',
        }